﻿namespace CF.Member.DAL.Badges
{
    public interface IBadge
    {
        /// <summary>
        /// 检查是否满足获得徽章条件。
        /// </summary>
        /// <param name="bid">徽章ID</param>
        /// <param name="uid">会员UID</param>
        /// <returns></returns>
        bool CheckTakeCondition(int uid, int bid);

        /// <summary>
        /// 升级徽章。
        /// </summary>
        /// <param name="bid">徽章ID</param>
        /// <param name="uid">会员UID</param>
        /// <returns></returns>
        UpdateBadgeStatus UpdateBadgeLevel(int bid, int uid);

        /// <summary>
        /// 获得徽章，但未激活。
        /// </summary>
        /// <param name="bid">徽章ID</param>
        /// <param name="uid">会员UID</param>
        /// <returns></returns>
        bool TakeBadge(int bid, int uid);

        /// <summary>
        /// 激活徽章。
        /// </summary>
        /// <param name="bid">徽章ID</param>
        /// <param name="uid">会员UID</param>
        /// <returns></returns>
        bool ActivationBadge(int bid, int uid);
    }
}
